<?php

return array(
	"php" => 5.3,
	"name" => "Вызов статических методов",
	"prepare" => '
class tt_class {
	public static function tt_1($a, $b) {
		if(rand($a, $b)%2) return rand(1, 2);
		else return rand($a, $b);
	}
}',
	"tests" => array(
		"simple" => array(
			"code" => 'tt_class::tt_1(10, 100);',
			"i" => 1000,
			"desc" => "Вызов статического метода",
		),
		"var" => array(
			"prepare" => '$tt_с = "tt_class";',
			"code" => '$tt_с::tt_1(10, 100);',
			"i" => 1000,
			"desc" => "Вызов статического метода из переменной с классом",
		),
		"var2" => array(
			"prepare" => '$tt_m = "tt_1";',
			"code" => 'tt_class::$tt_m(10, 100);',
			"i" => 1000,
			"desc" => "Вызов статического метода из переменной с методом",
		),
		"var3" => array(
			"prepare" => '
$tt_m = "tt_1";
$tt_с = "tt_class";',
			"code" => '$tt_с::$tt_m(10, 100);',
			"i" => 1000,
			"desc" => "Вызов статического метода из переменных",
		),
		"call_user" => array(
			"code" => 'call_user_func_array("tt_class::tt_1", array(10, 100));',
			"i" => 1000,
			"desc" => "Вызов статического метода через call_user_func_array, строкой",
		),
		"call_user2" => array(
			"code" => 'call_user_func_array(array("tt_class", "tt_1"), array(10, 100));',
			"i" => 1000,
			"desc" => "Вызов статического метода через call_user_func_array, массивом",
		)
	)
);
?>
